//
//  YCTitleContentConfig.h
//  TitleContent
//
//  Created by 唐可雄 on 2019/7/14.
//  Copyright © 2019 swustyc. All rights reserved.
//

#import <UIKit/UIKit.h>

#import <Tool/Tool.h>

NS_ASSUME_NONNULL_BEGIN

#define YCLineViewWidthAuto -1

typedef enum : NSUInteger {
    YCTitleViewPosNavi,
    YCTitleViewPosNormal,
} YCTitleViewPos;

typedef enum : NSUInteger {
    YCTitleViewStyleSegment,
    YCTitleViewStyleCollection,
} YCTitleViewStyle;

typedef enum : NSUInteger {
    YCLineViewShapeRoundRect,
    YCLineViewShapeRightRect,
} YCLineViewShape;

typedef enum : NSUInteger {
    YCLineViewAlignmentTop,
    YCLineViewAlignmentBottom,
    YCLineViewAlignmentCenter
} YCLineViewAlignment;

typedef enum : NSUInteger {
    YCLineViewTransitionTypeNone,
    YCLineViewTransitionTypeTranslation,
    YCLineViewTransitionTypePull,
} YCLineViewTransitionType;

typedef enum : NSUInteger {
    YCCollectionViewCellStyleText,
    YCCollectionViewCellStyleCustom,
} YCCollectionViewCellStyle;

@interface YCTitleContentConfig : NSObject<NSCopying>

@property (nonatomic, assign) YCTitleViewPos titleViewPos;
@property (nonatomic, assign) YCTitleViewStyle titleViewStyle;
@property (nonatomic, assign) CGFloat titleViewHeight;
@property (nonatomic, strong) UIColor *titleViewBackgroundColor;

@property (nonatomic, strong) UIColor *tintColorSegment;

@property (nonatomic, assign) UIEdgeInsets collectionViewEdgeInsets;
@property (nonatomic, assign) YCCollectionViewCellAlignment collectionViewCellAlignment;
@property (nonatomic, assign) YCCollectionViewCellStyle collectionViewCellStyle;
@property (nonatomic, assign) CGFloat collectionViewCellSpace;

@property (nonatomic, assign) CGFloat titleCollectionViewCellWidth;

@property (nonatomic, strong) UIColor *textColorSelected;
@property (nonatomic, strong) UIColor *textColorUnselected;
@property (nonatomic, strong) UIFont *textFontSelected;
@property (nonatomic, strong) UIFont *textFontUnselected;
@property (nonatomic, assign) YCTextVerAlignment textVerAlignment;

@property (nonatomic, assign) CGFloat lineViewWidth;
@property (nonatomic, assign) CGFloat lineViewHeight;
@property (nonatomic, strong) UIColor *lineViewBackgroundColor;
@property (nonatomic, assign) YCLineViewShape lineViewShape;
@property (nonatomic, assign) BOOL lineViewHidden;
@property (nonatomic, assign) YCLineViewAlignment lineViewAlignment;
@property (nonatomic, assign) YCLineViewTransitionType lineViewTransitionType;

@property (nonatomic, strong) UIColor *separatorViewColor;
@property (nonatomic, assign) BOOL separatorViewHidden;
@property (nonatomic, assign) CGFloat separatorViewHeight;

@end

NS_ASSUME_NONNULL_END
